/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package dao;

import MYSQLConection.OperacionesDB;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import negocio.HabitoNocivo;

/**
 *
 * @author Adrian
 */
public class DaoHabito {
    private static DaoHabito instance;

    private DaoHabito() {
    }

    public static DaoHabito getInstance() {
        if (instance == null) {
            return instance = new DaoHabito();
        }
        return instance;
    }
    
     public boolean NuevoHabito(String cedula,String habito,String frecuencia,int cantidad,String estadoHabito,String fechaInicio) throws SQLException{
        OperacionesDB db = new OperacionesDB();
       String query="insert into habitosnocivos values('"+cedula+"','"+habito+"',"+"'"+frecuencia+"',"+cantidad+",'"+estadoHabito+"',"+"'"+fechaInicio+"')";
       if(db.ingreso(query))
       {
          return true; 
       }
       else
       {
           return false;
       }
    }
     public void Modificar(String cedula,String habito,String frecuencia,int cantidad,String estadoHabito,String fechaInicio) throws SQLException
    {
       OperacionesDB db = new OperacionesDB();
       String query = "UPDATE habitosnocivos SET frecuencia='"+frecuencia+"',cantidad="+cantidad+",estadoHabito='"+estadoHabito+"',fechaInicio='"+fechaInicio+"' where cedula='"+cedula+"' and habito='"+habito+"'";
       db.modificacioneliminacion(query);
       db.cerrarConexion();
        
    }
          public void Eliminar(String cedula,String habito) throws SQLException
    {
         
        OperacionesDB db = new OperacionesDB();
      String query1 = "delete from antecedentes where cedula='"+cedula+"' and habito='"+habito+"'";
       db.modificacioneliminacion(query1);
       db.cerrarConexion(); 
       
        
        
    }
          
      public ArrayList<HabitoNocivo> listar(String cedula) throws SQLException
    {
       OperacionesDB db = new OperacionesDB();
       ArrayList<HabitoNocivo> habitos=new ArrayList();
         String query = "select * from habitosNocivos where cedula='"+cedula+"'";
        ResultSet resultado = db.seleccion(query);
        HabitoNocivo acc=null; 

        while (resultado.next()) {
           int cantidad=Integer.parseInt(resultado.getString(4));
           acc = new HabitoNocivo(resultado.getString(2),resultado.getString(3),cantidad,resultado.getString(5),resultado.getString(6));
            habitos.add(acc);
        }
         db.cerrarConexion();
        
        return habitos;
        
    } 
      public boolean ExisteHabito(String cedula,String habito) throws SQLException
      {
        OperacionesDB db = new OperacionesDB();
        int cont=0;
         String query = "select * from habitosNocivos where cedula='"+cedula+"' and habito='"+habito+"'";
        ResultSet resultado = db.seleccion(query);
        while (resultado.next()) {
            cont++;
        }
         db.cerrarConexion();
        if(cont!=0){return true;}else{return false;}
        
    }
    
    
  
}
